const AUTH = require("../../../utils/auth")
import { getProductById } from "../../../api/productController";
import { saveShopCart, getShopCartList } from "../../../api/shopCartController";
Page({
  /**
   * 页面的初始数据
   */
  data: {
    name:'产品详情',
    shoppingCartNum: 0,   //购物车数量
    cardShow:false,   //加购数量弹窗
    count: 1,  //当前商品的数量
    id:'',    //商品id
    productDetail:'',     //产品详细信息

    custId: '',
    wxlogin: true,      //已注册 不弹窗
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('options---',options);
    let { id } = options
    this.setData({
      id: id
    })
    this.getProductById()
  },
  onShow(){
    this.getShopCartList()
  },
  /**
   * 购物车列表 赋值购物车数量
   */
  async getShopCartList(){
    let resolve = await getShopCartList({
      custId: wx.getStorageSync('custId'),
    })
    if (resolve.success) {
      this.setData({
        shoppingCartNum: resolve.data.total
      })
    }
  },
    /**
   * 失去焦点
   */
  bindblur(e) {
    let value = this.validateNumber(e.detail.value) - 0
    value = value == 0 ? 1 : value
    this.setData({
      count: value
    })
  },
  validateNumber(val) {
    return val.replace(/\D/g, '')
  },
  /**
   * 产品详情
   */
  async getProductById(){
    let resolve = await getProductById({
      productId: this.data.id
    })
    this.setData({
      productDetail: resolve.data
    })
  },
  /**
   * 跳转
   */
  goPath(e){
    // wx.setStorageSync('PageCur', 'shoppingCartPage')
    let { path } = e.currentTarget.dataset
    wx.redirectTo({
      url: path+'?PageCur=shoppingCartPage',
    })
  },
  /**
   * 加入购物车
   * 存数据库 获取购物车数量 按类别算 不是按总数算
   */
  addCard(){
    AUTH.checkHasLogined().then(isCustId => {
			if (!isCustId) {
				this.setData({
          wxlogin: false
        })
			}else{
        this.setData({
          cardShow: !this.data.cardShow,
        })
        this.saveShopCart()
      }
    })
  },
  /**
   * 添加到购物车
   */
  async saveShopCart(){
    let resolve = await saveShopCart({
      productId: this.data.id,
      custId: wx.getStorageSync('custId'),
      count: this.data.count
    })
    if (resolve.success) {
      wx.showToast({
        title: '添加成功！',
        icon: 'success'
      })
      setTimeout(() => {
        this.getShopCartList()
      }, 1500);
    }
  },
  /**
   * 处理加减法
   */
  handleNum(e){
    let { type } = e.currentTarget.dataset
      // 减法 (不为0)
    if (type === 'del') {
      if (this.data.count<=1) {
        return
      }
      this.data.count--
      this.setData({
        count:this.data.count
      })
    }else if (type === 'add') {
      // 加法 (需要大于库存)
      this.data.count++
      this.setData({
        count:this.data.count
      })
      // if (this.data.count>=库存) {
      //   return
      // }
    }else{
      let { value } = e.detail
      this.setData({
        count:value
      })
    }
  },
  /**
   * 预览单图
   */
  previewImage(){
    wx.previewImage({
      current: ['/static/images/mockshop.png'], // 当前显示图片的http链接  
      showmenu: true, //是否显示长按菜单
      urls: ['/static/images/mockshop.png'] // 需要预览的图片http链接列表  
    })
  },
  /**
   * 预览轮播图
   */
  lookPreviewImage(e){
    let { index } = e.currentTarget.dataset
    console.log(index);
    wx.previewImage({
      current: [this.data.productDetail.thumbImageUrl], // 当前显示图片的http链接  
      showmenu: true, //是否显示长按菜单
      urls: [this.data.productDetail.thumbImageUrl] // 需要预览的图片http链接列表  
    })
  },
  /**
   * 弹窗
   */
  cardShow(){
    if (!this.data.productDetail.status) {
      wx.showToast({
        title: '产品即将上线！',
        icon: 'none'
      })
      return
    }
    this.setData({
      cardShow: !this.data.cardShow
    })
  },
  /**
   * 弹窗外区域点击
   */
  hideModal(){
    this.setData({
      cardShow: !this.data.cardShow
    })
  },
  /**
   * 立即订购
   * 加购一个商品 成功后跳转到 订单支付页面
   */
  async orderNow(e){
    if (!this.data.productDetail.status) {
      wx.showToast({
        title: '产品即将上线！',
        icon: 'none'
      })
      return
    }
    /**
     * 检测是否授权过
     */
    AUTH.checkHasLogined().then(isCustId => {
      console.log('是否注册',isCustId);
      if (!isCustId) {
        this.setData({
          wxlogin: false
        })
      }else{
        let { path } = e.currentTarget.dataset
        wx.navigateTo({
          url: path,
        })
      }
    })

  }
})